package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

/**
 * JDBC java数据库连接
 */
public class JdbcDemo01 {
    public static void main(String[] args) throws Exception {
        /*System.out.println("hello jdbc");
        Class.forName("com.mysql.cj.jdbc.Driver");*/
           /*
            使用JDBC连接数据库的大致步骤
            1:加载驱动
            2:通过驱动管理器与数据库建立连接,得到一个Connection对象
            3:通过连接对象获取语句对象Statement
            4:通过语句对象执行SQL语句
            5:如果执行的是DQL(查询语句)则会得到结果集对象ResultSet
            6:遍历结果集得到查询结果
            7:与数据库断开连接
         */
        //  1:加载驱动  链接不同的数据库就要使用不同的驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //   2:通过驱动管理器与数据库建立连接,得到一个Connection对象
        Connection connection= DriverManager.getConnection(
              "jdbc:mysql://localhost:3306/tedu?" +
                      " characterEncoding=utf8&useSSL=false&" +
                      "serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
              "root",
              "root"
        );

        System.out.println("数据库链接成功");
        //  3:通过连接对象获取语句对象Statement
       Statement statement =  connection.createStatement();
       //  4:通过语句对象执行SQL语句
        /*
        sql
        create table userinfo (
            id int primary key  auto_increment,
            name varchar(32) not null ,
            age int(4) default 0
        )
         */
        String sql=" create table userinfo (\n" +
                "            id int primary key  auto_increment,\n" +
                "            name varchar(32) not null ,\n" +
                "            age int(4) default 0\n" +
                "        )";
        // statement.execute(sql) 执行的ddl语句
      //  statement.executeUpdate(sql); 执行的是dml语句
     //   statement.executeQuery(sql); 执行的是dql语句
        statement.execute(sql);
        // 5 没有 因为执行的不是dql语句
        // 6 没有 没有5不出现的结果
        // 7 关闭链接
        connection.close();
        System.out.println("代码执行结束，创建表成功");
    }
}
